RAM
$0090 = long-pointer to event database
$00A0-00A2 = dialogue box graphics
$00B0,$00B4 = pointer storage
$00B2,$00B6 = long-pointer storage
$00D0-$0100: MISC
	($7006C0-$7006F0 IN SRAM)
	$00DA = active character
	$00F0 = state
		00 = screen transition
		01 = normal
		02 = menu
		03 = y/n prompt
		04 = dialogue
		05 = room transition
	$00F1 = dpad input (02 = up, 03 = down, 04 = left, 05 = right)
	$00F2 = screen rotation (1st-person)
	$00FD = area tileset
		00 = Sloth
		01 = Second Nomos
		02 = Fourth Nomos
		03 = Inside Orcus
		04 = school
		05 = warped school
		06 = Gluttony
		07 = Greed
		08 = Chamber of Seals
		09 = Nomos of Heaven
		0A = Envy
		0B = Pride
		0C = Nomos of Earth
		0D = First Nomos
		0E = Casino / Third Nomos
		0F = Wrath
		10 = Mental World
		anything higher glitches out
$0300-$037A: CHARACTER NAMES, CURRENCY, VARIOUS
	($700640-$7006BA IN SRAM)
	$0305-0308 = MACCA
	$0309-030C = MAGNETITE
		For both of these, 4th byte is read but will cause the display to glitch because it contains more digits than the display has.
	$030F = MOON PHASE
		Only the first nibble seems to matter.
	$0310-$033F = NAMES
		(must terminate with FF for endstring)
		$0310-0317 = Tamaki
			mirrored at $0340
		$0318-031F = Reiko
		$0320-0327 = Yumi
		$0328-032F = Charlie
		$0330-0337 = Akira
	$0350 = STATE
		00 = menu
		02 = fountain
		03 = walking
		05 = cutscene
		06 = moving through door
		07 = moving between areas
		08 = stairs
		0B = shop
	$0356 = screen effect
		01 = blur
		02 = fade out
		03 = blur + fade out
		04 = shake
		$0357-035B are related
	$0360 = ???
		constantly incremented in Cathedral of Shadows, change causes ACE
	$0362-0365 = coins
	$036E-0370 = Domain of Sloth counters
		$036E = stores moon phase, checked against current moon phase to determine advancement
		$036F = Sloth countdown
			Initialized to 10, -1 every moon phase, advances progress when hits 0, reset to 10 when speaking to guard
		$0370 = Laborer progress (used to determine advancement event)
	$0373-0374 related to Guardian Points in some way
$0400-$04FF: POSITION & INVENTORY
	($700700-$7007FF IN SRAM)
	$0400-040A = party positions (actual)
	$040C-0416 = party positions (in Change menu)
	$0418 = PLAYER X-COORD
	$0419 = PLAYER Y-COORD
	$041A = area tileset (written to $00FD)
	$0420-043F = KEY ITEMS
	$0440-045F = ITEMS
	$0460-047F = ITEM AMTs
	$0480-049F = PARTNER SPELLS
	$04A0-04AF = COMP OPTIONS
	$04B0-04BB = GEMS
	$04C0-04DF = PARTNER SPELLS (must match)
	$04E0-04FF = ???
$0608-$060C: ???
	($7006F0-$7006F4 IN SRAM)
	$060C mirrors coins from $0362 during item exchange
	$060B written to during Code Breaker and Casino games
$07F1-$07F8: Persistent effects (Mapper/Estoma/Liftoma)
	($700F30-$700F37 IN SRAM)
	$07F1: Mapper minimap
		00 = not present
		01 = right
		02 = center
		03 = left
		however, just editing this byte doesn't summon a minimap, just the placement arrow
	$07F3:
		A1 = Liftoma used
			-1 on first moon phase change
		D1 = Core Shield used
			-1 on first moon phase change
	$07F6:
		21 = Fuma Bell used
			-1 on first moon phase change
	$07F7 = step tracker?
	$07F8 = inverse step tracker? 1st nibble counts down from F every time player takes step
		might be checking the duration
$0850-$0870: CONFIG OPTIONS
	($700F00-$700F20 IN SRAM)
	$0850 = function of UP
	$0852 = function of DOWN
	$0854 = function of LEFT
	$0856 = function of RIGHT
	$085C = function of X
	$085E = function of Y
	$0860 = function of A
	$0862 = function of B
	$0864 = function of L
	$0866 = function of R
	$0868 = msg speed
		00 = slow
		01 = med
		02 = fast
	$0869 = automap setting
		00 = fix
		01 = free
	$086A = autobattle repeat
		00 = off
		01 = A
		02 = B
	$086B = item/magic substitution
		00 = on
		01 = off
	$086C = party panel
		00 = icon
		01 = word
	$086D = sound
		00 = mono
		01 = stereo
	$086E = use items to auto-recover
		00 = yes
		01 = no
	$086F = 3D move speed
		00 = normal
		01 = slow
	$0870 = controller configuration
		00 = normal
		01 = easy
		02 = custom
		
$0E04-$0E23: EVENT FLAGS
($700800-$70081F IN SRAM)
Event flags are additive, e.g. $0E04 = 60 means you have spoken to both Reiko and Charlie.
(This makes more sense if viewed in binary; each flag corresponds to a 1 in a different binary place value)
	$0E04: Partner
		#1 = unused? maybe there was another partner planned
		#2 = partner is Reiko
		#4 = partner is Yumi
		#8 = partner is Charlie
		1# = partner is Akira
		2# = spoken to Reiko
		4# = spoken to Charlie
		8# = spoken to Akira
	$0E05:
		#1 = defended Sato from Gaki
		#2 = got arm terminal from Yahata
		#4 = saw Hazama's astral projection message
		#8 = obtained Ring of Humility
		1# = defeated Otsuki 1
		2# = Kayama gave Ointment
		4# = Searched baseball club room
		8# = Searched football club room
	$0E06:
		#1 = Searched hockey club room
		#2 = Searched sumo club room
		#4 = Searched storeroom
		#8 = got PRG disk
		1# = gave PRG disk to Sato
		2# = defeated & recruited Cerberus
		4# = heard Cerberus is in PRG disk
		8# = Cerberus waiting in storeroom (triggered if minions full)
	$0E07:
		#1
		#2 = obtained Ring of Restraint
		#4 = seen Gluttony Hazama statue
		#8 = obtained Micro Plasma
		1# = obtained Ring of Diligence
		2# = seen Sloth Hazama statue
		4# = ?
		8# = partner left in Envy
	$0E08: Domains
		#1 = Pride unlocked
		#2 = Pride visible on map
		#4 = Gluttony unlocked
		#8 = Gluttony visible
		1# = Sloth unlocked
		2# = Sloth visible
		4# = Envy unlocked
		8# = Envy visible
	$0E09:
		#1 = defeated Lilith
		#2 = Greed unlocked / seal broken (Charlie's route)
		#4 = Greed visible
		#8 = defeated Chefei
		1# = seal broken (Yumi/Reiko route)
		2# = cleared Wrath
		4# = ?
		8# = seen Pride Hazama statue
	$0E0A:
		#1 = seen Envy Hazama statue
		#2 = seen Greed Hazama statue
		#4 = Cerberus in storeroom
		#8 = obtained Jack Frost from 3F room
		1# = defeated Balaam
		2# = obtained DiscCom's tunnel treasure
		4# = obtained janitor's tunnel treasure
		8# = obtained west tunnel treasure
	$0E0B:
		#1 = obtained upper east tunnel treasure
		#2 = ?
		#4 = defeated Otsuki 3 (applies for both Envy and Wrath)
		#8 = spoken to Yahata in prologue
			also set when using Recording Stone
		1# = followed Ryuichi in Wrath, Charlie left
		2# = Russian Roulette unavailable
		4# = ?
		8# = Wrath unlocked
	$0E0C:
		#1 = Sumo tunnel 1 / opened SW pot in Sebek's mausoleum (Akira)
		#2 = ...2 / opened NE pot
		#4 = ...3 / opened SE pot
		#8 = ...4 / opened center pot
		1# = ...5
		2# = ...6
		4# = ...7
		8# = Janitor tunnel 1 / triggered trap 1 in Fourth Nomos (Akira)
	$0E0D:
		#1 = ...2 / trap 2 (Akira)
		#2 = ...3 / trap 3 (Akira)
		#4 = ...4
		#8 = ...5
		1# = ...6
		2# = ...7
		4# = DiscCom tunnel 1 / Third Nomos exposition 1
		8# = ...2 / Third Nomos exposition 2
	$0E0E:
		#1 = ...3 / Third Nomos heard about Mammon's power
		#2 = ...4
		#4 = ...5
		#8 = ...6
		1# = ...7
		2# = northeast tunnel 1 / Fourth Nomos seen Hazama's message
		4# = ...2 / Nomos of Heaven seen Hazama's message
		8# = ...3
	$0E0F:
		#1 = ...4
		#2 = ...5
		#4 = ...6
		#8 = ...7
		1# = upper east tunnel 1 / defeated Behemoth (Akira)
		2# = ...2 / defeated Hecatonchires (Akira)
		4# = ...3 / defeated Tiamat (Akira)
		8# = ...4 / defeated Cthulhu (Akira)
	$0E10:
		#1 = ...5
		#2 = ...6
		#4 = lower east tunnel 1 / warp tracker in 30F (Akira)
		#8 = ...2
		1# = ...3
		2# = ...4
		4# = ...5
		8# = ...6
	$0E11:
		#1 = ...7
		#2 = Female student's tunnel 1 / recruited Hathor (Akira's route)
		#4 = ...2
		#8 = ...3
		1# = ...4
		2# = ...5
		4# = ...6
		8# = ...7
	$0E12:
		#1 = Ryuichi's tunnel 1
		#2 = ...2
		#4 = ...3
		#8 = ...4
		1# = ...5
		2# = ...6
		4# = ...7
		8# = Appraisal tunnel 1
	$0E13:
		#1 = Appraisal tunnel 2
		#2 = ...3
		#4 = ...4
		#8 = ...5
		1# = ...6
		2# = southwest tunnel 1
		4# = ...2
		8# = ...3
	$0E14:
		#1 = ...4
		#2 = ...5
		#4 = ...6
		#8 = ...8
		1# = west tunnel 1
		2# = ...2
		4# = ...3
		8# = ...4
	$0E15:
		#1 = ...5
		#2 = ...6
		#4 = Balaam's tunnel 1
		#8 = ...2
		1# = ...3
		2# = ...4
		4# = ...5
		8# = ...6
	$0E16:
		#1 = ?
		#2 = opened 1st silver chest in Envy / opened Corrosion Shell chest in Nomos of Heaven (Akira)
		#4 = ...2nd / opened ultimate gun chest in Nomos of Heaven (Akira)
		#8 = ...3rd
		1# = ...4th / opened Tenma/Jesus Armor chest (Akira)
		2# = opened Tenma/Jesus Gauntlet chest (Akira)
		4# = Completed Wrath trials/Hazama left with Akiko
		8# = Wrath: Hazama gave 1st trial / opened Tenma/Jesus Helm chest (Akira)
	$0E17:
		#1 = Wrath: Hazama gave 2nd trial
		#2 = Wrath: Hazama gave 3rd trial
		#4 = obtained Megaton Sphere
		#8 = worshipped at Hazama statue
		1# = defeated Hazama 2 (Reiko's route)
		2# = game clear (copied from $701813 on new game)
		4# = defeated Hazama (Charlie's route)
		8# = defeated Hazama (Akira's route)
	$0E18: Akira events
		#1 = Akira fused with Amon
		#2 = opened door in Nomos of Earth B8F
		#4 = dealt with Sebek
		#8 = dealt with Hathor
		1# = dealt with Thoth
		2# = obtained Blue Key
		4# = heard about Blue Key
		8# = defeated Apaosha
	$0E19: Akira events
		#1 = visited dead end in Wrath town (Fiend?) / opened geyser 1 (Akira's route)
		#2 = opened geyser 2
		#4 = defeated Bushyasta
		#8 = defeated Druj
		1# = resisted Belle in second Nomos
		2# = turned to fly by Belle
		4# = opened geyser 3
		8# = obtained White Key
	$0E1A: Akira events
		#1 = found White Key
		#2 = opened Gate of Neters
		#4 = defeated Mammon
		#8 = opened geyser 4
		1# = defeated Azi Dahaka
		2# = ?
		4# = ?
		8# = received reward from Tabet elder (Akira's route)
	$0E1B:
		#1 = opened Tenma/Jesus Greaves chest (Akira)
		#2 = attempted to run from Sebek (Akira's route)
		#4 = ?
		#8 = encountered Belle in Second Nomos 13F
		1# = pulled Hinokagutsuchi (applies for both Envy and Third Nomos)
		2# = defeated Ogre guarding 1st valve (Akira's route)
		4# = ?
		8# = set every time you approach Nomos of Earth B10 door
	$0E1C:
		#1 = ?
		#2 = defeated Otsuki 4
		#4 = defeated Amdusias
		#8 = heard from Ryuchi Akiko was kidnapped
		1# = Sloth demons are Dark
		2# = received Corseca from Expanse Man
		4# = received Iron Bunny Ears from Expanse Man
		8# = received Highleg Armor from Expanse Man
	$0E1D:
		#1 = received Arm Bridge from Expanse Man
		#2 = received Dancing Heels from Expanse Man
		#4 = returned Mawashi of Concealment, obtained Bear's War Fan
		#8 = entered Chamber of Seals
		1# = rejected Reiko
		2# = visited Fiend location
			removed on save
		4# = cleared Sloth
		8# = epilogue
	$0E1E:
		#1 = entered broken seal (Yumi/Reiko's route)
		#2 = opened Greed chest 1
		#4 = ...2
		#8 = ...3
		1# = ...4
		2# = ...5
		4# = ...6
		8# = ...8
	$0E1F:
		#1 = ...9
		#2 = ...10
		#4 = ...11
		#8 = ...12
		1# = ...13
		2# = ...14
		4# = ...15
		8# = ...16
	$0E20:
		#1 = defeated Hazama (Yumi/Reiko's route)
		#2 = ?
		#4 = seen Kayama remains in school at endgame
		#8 = defeated Angra Mainyu
		1# = ?
			this is checked against constantly
		2# = seen Reiko/Yumi's reaction to school 4F
		4# = obtained Mawashi of Concealment
		8# = spoken to Ryuichi in the storeroom
	$0E21:
		#1 = Otsuki warned about gym excursion
		#2 = seen Orcus
		#4 = heard gym is Cathedral of Shadows
		#8 = end montage (Reiko & Akira route)
		1# = spoken to DiscCom member on 2F about Akira
		2# = refused to help Ryuichi in Wrath
		4# = obtained Handprint of Anger
		8# = end montage
	$0E22:
		#0 = protag is male
			(Default, doesn't even bother to set it if you select it during character creation. Thanks, Atlus.)
		#2 = protag is female
		#1 = Protag has Guardian
		#4 = partner has Guardian
		#8 = ?
		1# = ?
		2# = ?
		4# = ?
		8# = entered manhole (Akira's route)
	$0E23:
		#1 = ?
		#2 = ?
			checked constantly
		#4 = seen dimensional rift (gym or emergency exit)
			cleared when leaving school but not if you choose to back out, not sure what the purpose is
		#8 = ?
		1# = ?
		2# = ?
		4# = ?
		8# = epilogue
			checked when decrementing Estoma and Liftoma
			
$0E24-$0E9F: DEMON REPUTATION
$700820-$70089B IN SRAM
	Fusing into element = -2
	Kill = -1
	Fight = -6
	Friendly negotiation = +1
	Nonviolent resolution = +1
	Make minion = +5
	$0E2C = Gaki?
	$0E53 = Night?
	$0E67 = Pixie/Fey?
	$0E68 = Willy/Fey?
	$0E6C = Undead?
	$0E6D = Chon-Chon/Raptors?
$0EA0-$0EBF: something to do with Cathedral of Shadows
$70089C-$7008FB IN SRAM

$1000-$153F: CHARACTER DATA
$700100-$70063F IN SRAM
	00 = PARTY STATUS
		##80 = in storage
		##C0 = in active party	
		##00 = absent
	02 = STATUS (low & high nibbles are independent)
		01 = CURSE
		02 = CLOSE
		04 = POISON
		08 = HAPPY
		10 = PANIC
		20 = BIND
		40 = SLEEP
		80 = SHOCK
	03 = STATUS
		00 = GOOD
		01 = FREEZE
		02 = CHARM
		04 = BAT
		08 = FLY
		10 = PALYZE
		20 = STONE
		40 = UNDEAD
		80 = DEAD/DYING
	04 = CHARACTER ID
		For humans:
		00 = PROTAG
		01 = REIKO
		02 = YUMI
		03 = CHARLIE
		04 = AKIRA
		05 = Orcus' chef?
		06 = Hazama
		>06 = glitch
	05 = Name offset?
		80 for humans
		00 for demons
	06 = gender
		00 = male
		01 = female
	08 = COMMAND
		#0 = blank
		#1 = SWD
		#2 = ATC
		#3 = GUN
		#4 = EXT
		#5 = COM
		#6 = MGC
		#7 = ITM
		#8 = RET
		#9 = DEF
		>#A = glitch
		(nibble 1 presumably encodes something, but don't know what)
	0A-0B = LEVEL
	0C-0F = EXP
	10-11 = CURHP
	12-13 = MAXHP (auto-calculated)
	14-15 = CURMP (always "..." for protag)
	16-17 = MAXMP
	18-1D = CORE STATS
	1E-23 = STAT BONUSES
	24-2A = STAT BONUSES (gems)
	2B-2F = GUARDIAN MODS (>7F is negative)
	30-36 = EQUIPMENT
	37 = AMMO
	38-39 = SWD ATK
		for humans, = (LV/4)+STR+WPN_ATK
	3A-3B = SWD HIT
		for humans, = LV+(LUK/2)+SPD+WPN_HIT
	3C-3D = (LV+STR)*2
		probably "physical power", whatever that is
		whatever it is, it is NOT the HP bonus
	3E-3F = (1.5LV+SPD)+(1/4)(STR+LUK)
		either general accuracy or advantage chance?
	40-41 = GUN ATK
		= WPN_ATK+BULLET_ATK+(LV/4)
	42-43 = GUN HIT
		= LV+(LUK/2)+SPD+WPN_HIT
	44-45 = DEF
		for demons, = LV+(STM*2)
	46-47 = EVA
		for demons, = 1.5LV+SPD+INT+(LUK/4)
	48-49 = MPW
	4A-4B = MEF
	4C-4D = Party alignment
		<0070 = Law
		>=0090 = Chaos
	4E-4F = ???
	54 = ???
	55 = ???
	56-58 = ???
	59 = Guardian track
		00 = MProtag STR
		01 = MProtag SPD
		02 = MProtag LUK
		03 = FProtag STR
		04 = FProtag SPD
		05 = FProtag LUK
		06 = Reiko
		07 = Yumi
		08 = Charlie
		09 = Akira
		(if there is a mismatch with the Guardian itself, there is a very long delay when attempting to pull up the guardian screen and the Guardian Guage becomes glitchy)
		When high nibble = 8, next Guardian will rank up
	5A-5D = Guardian Points
	5E-5F = Guardian ID (same order as demon database)
		Changing this is mostly cosmetic, as gameplay effects (stats, spells) are only calculated when the Guardian is received; does affect stuff like the Hinokagutsuchi check
$1000: PROTAG DATA
$1060: PARTNER DATA
$10C0: DMN1 DATA
$1120: DMN2 DATA
$1180: DMN3 DATA
$11E0: DMN4 DATA
$1240: DMN5 DATA
$12A0: DMN6 DATA
$1300: DMN7 DATA
$1360: DMN8 DATA
$13C0: DMN9 DATA
$1420: DMN10 DATA
$1480: DMN11 DATA
$14E0: DMN12 DATA

$1540: ENEMY1 / FUSION PREVIEW DATA
$15A0: ENEMY2 DATA
$1600: ENEMY3 DATA
$1660: ENEMY4 DATA
$16C0: ENEMY5 DATA
$1720: ENEMY6 DATA
$1780: ENEMY7 DATA
$17E0: ENEMY8 DATA
$1840: ENEMY9 DATA

$7E3600-$7E361F: TREASURE TRACKER
$700900-$70091F IN SRAM
$7E3C00-$7E3CBF: ???
$700920-$7009DF IN SRAM
	loaded when opening status view, always 7E3C00 for demons
	02 incremented when protag attacks
	61 incremented when partner attacks
$7E3700-$7E37FF: DEVIL ANALYZE DATA
$700A00-$700AFF IN SRAM
	Same order as demon database.
	8# = obtained
	#1 = defeated
$7E3800-$7E3BFF: MAP DATA
$700B00-$700EFF IN SRAM
	2 bytes = 4x4 block, larger areas have additional bytes
	...I'm not finding all of these but here are a few:
	Blocks are listed LTR, TTB
	School 1F
		$3804,$3806,
		$3846
	School Corridor
		$3844,
		$3884
	School 2F
		$3880,$3882,
		$38C0,$38C2
	School 3F
		$3800,$3802,
		$3840,$3842
	Chamber of Seals
		$3886,
		$38C4,$38C6
	School 4F
		$3910,$3912,$3914,$3916,
		$3950,$3952,$3954,$3956,
		$3990,$3992,$3994,$3996,
		$39D0,$39D2,$39D4,$39D6,
	School 5F
		$3918,$391A,$391C,$391E,
		$3958,$395A,$395C,$395E,
		$3998,$399A,$399C,$399E,
		$39D8,$39DA,$39DC,$39DE
	School 6F
		$389C,$389E,
		$38DC,$38DE
	School 7F
		$39C0
	School 8F
		$39C2 
	School 9F
		$39C4
	School 10F
		$39C6
	School 11F
		$3986

$701813: game clear check, OR'd with $700813 on new game

RAM

$03C0 = time counter (increments continually)
$03ED = RNG result?
$03EF-03F1 = RNG seeds/calculation?
	initialized based on time counter at new game
$0508 = TEXT PRINT OFFSET
$0576 = TARGET OFFSET
$0612 determines SRAM offset when loading a game -- records active save file?

Guardian stuff:
$0702-0704 = Adjusted Guardian Points (based on ROM data from $01A21E)
$0706 = CURRENT GUARDIAN DATA
$0708 = CURRENT CHARACTER OFFSET
$070A = CURRENT CHARACTER #
$070C = CURRENT GUARDIAN SET
$070E = Guardian currently being viewed

$0808 = math storage

Battle stuff:
$0881 = TYPE
$0882 = DAMAGE
$0884 = DAMAGE MODIFIER
	FFFF = NULL
	FFFE = ABSORB
	FFFD = REFLECT
$0886 = BATTLE SUBJECT
$0888 = BATTLE TARGET

$088C = MOON PROGRESS
	16 STEPS = +1 PHASE
$088F = ???
	Referenced when opening status view, always 10 for demons
	Weapon damage? 0 for humans when unarmed, = weapon power otherwise
$0891 = ???
	Presumably base accuracy, same context
$0F00 = determines 2D backgrounds
$1908: animation?
$190C: SRT pointer? Change triggers ACE
$700000: Save File

ROM DATA (addresses in LoROM, no-header)
$009D35-$009DA6: Status ailment text
	No pointers, fixed length (6)
$009DD0-$009DDF: Text printing SRT pointers (16bit)
	D0: Character names
	D2: Skills
	D4: Items
	D6: Races
	D8: Demon names
	DA: Save locations
	DC: ???
	DE: Type info
$00A23F-$00A27E: Moon phase text
	No pointers, fixed length (4)
$00A27F-$00A2FE: Moon sprite data
$00C2DE-$00C2DF: Gender check codes
	DE: Male (80)
	DF: Female (40)
$00FDDD-$00FDEC: Abbreviated text printing SRT pointers (16bit)
	DD: Demon names
	DF: Items (equipment menu)
	E1: Items (shop)
	E3: Skills
	E5-FDEC: All point to same SRT, purpose unknown
$00FFC0-$00FFD4: Game title (ASCII)
$018000-$0181E5: Pointers to the following block
$0181EE-$018959: Various codes? Some are gibberish in both ASCII and the ROM chartable, some are legible text, all follow the pattern of using FF as endstring
$01A146: Guardian data
	Theorize highbyte is Guardian track & lowbyte is demon database ID but this is unproven
$028118-$028129: SRT pointers (16bit), purpose unknown
$028133-$028148: SRT pointers (16bit) for button inputs (maybe)
$03948E-$0394A2: Text meta-pointers (24bit)
	8E: Table 1
	91: Table 2
	94: Table 3
	97: Table 4
	9A: Table 5
	9D: Table 6
	A0: Table 7
$0397AD-$0398C8: SRT pointers (16bit), purpose unknown
$039F0B-$039F12: Bit check values (01,02,04,08,10,20,40,80)
$03D0F9-$03DE15: Room event data (5 bytes)
	F9: Room X
	FA: Room Y
	FB-FD: Pointer (24bit) to event SRT
$03DE16-$03E495: Equipment data (8 bytes)
	16 = gender restriction & special damage
		8# = male
		4# = female
		C# = both
		#1 = gun
		#6 = fire damage
		#7 = ice damage
		#8 = elec damage
	17 = ATK / DEF
	18 = accuracy / evasion
	19 = hits (weapons) / elemental affinity (armors)
		(1st nibble doesn't seem to encode anything)
		Hits:
		#0 = 1
		#1 = 2
		#2 = 0-1
		#3 = 0-1 (higher chance)
		#4 = 1-2
		#5 = 2-3
		#6 = 0-2
		#7 = 1-3
		#8 = 2-4
		#9 = 3-5
		#A = 3-6
		#B = 4-6
		#C = 5-7
		#D = 2-7
		#E = 0-7
		#F = All enemies
		Affinity:
		#1 = resist fire
		#2 = resist ice
		#3 = resist elec
		#4 = resist force
		#5 = resist nerve
		#6 = resist phys
		#7 = resist elec&force
		#8 = resist fire&ice
		#A = reflect physical
		#B = drain fire
		#C = drain elec
		#D = resist curse
		#E = resist exorcism
		#F = resist all
	1A-1C = stat bonuses
		(split into nibbles, so 1A is STR&INT, etc.)
	1D = effect on hit
		(if 1st nibble >0, weapon is cursed)
		#0 = NONE
		#1 = UNDEAD
		#2 = STONE
		#3 = PALYZE
		#4 = FLY
		#5 = BAT
		#6 = CHARM
		#7 = FREEZE
		#8 = SHOCK
		#9 = SLEEP
		#A = BIND
		#B = PANIC
		#C = HAPPY
		#D = POISON
		#E = CLOSE
		#F = CURSE
$04DE33-$04DE58: SRT pointers (16bit), purpose unknown
$199F8C-$19C62B: Demon data (32 bytes)
	8C: Level
	8D-8E: HP
	8F-90: MP
	91-96: core stats
	97: Alignment (low = Law)
	98: ???
	99: Type
	9A: Number of attacks
	9B: ???
	9C-A1: Skills
	A2: ???
	A3: ???
	A4: ???
	A5: Equipment drop?
	A6: ???
	A7: ???
	A8: Item drop?
	A9-AA: Gem/MStone drop?
	AB: ???
$20E8F4-$20F30D: Text pointers 1
$21F802-$21F81C: Text pointers 2
$228000-$2285C3: Text pointers 3
$238000-$238554: Text pointers 4
$288000-$289BA1: Text pointers 5
$2E8000-$2E840A: Text pointers 7
$2EF8FF-$2EFD36: Text pointers 6
	(NOT a typo, table 7 comes before table 6)
$2AB77E: NEW GAME | LOAD | SAVE text
$2ABE39-$2ABE9A: Save load instructions (8 bytes)
	39-3B: RAM base pointer
	3C: unused
	3D-3E: Upper bound offset (counts down from this when copying data)
	3F-40: SRAM base pointer
$3BA285-$3BA2A4: SRT pointers (16bit), affinity code
	85: Null
	87: Resist 1/8
	89: Resist 2/8
	8B: Resist 3/8
	8D: Resist 4/8
	8F: Resist 5/8
	91: Resist 6/8
	93: Resist 7/8
	95: Neutral
	97: Weak x1.5
	99: Weak x2
	9B: Weak x2.5
	9D: Reflect 1/2
	9F: Reflect
	A1: Drain 1/2
	A3: Drain
$3BD418-$3BD48F: Hit type data (8 bytes)
	Each byte contains a potential hit. Loops through each byte and if RNG result is >= byte value, hit is valid. Exits loop at first failure.
	18 = 1
	20 = 2
	28 = 0-1
	30 = 0-1 (higher chance)
	38 = 1-2
	40 = 2-3
	48 = 0-2
	50 = 1-3
	58 = 2-4
	60 = 3-5
	68 = 3-6
	70 = 4-6
	78 = 5-7
	80 = 2-7
	88 = 0-7
	90 = All enemies
$3BD518-$3BD747: type data (8 bytes)
	Each nibble is 1 affinity
		8 = NEUTRAL
		7 = Rs 7/8
		6 = Rs 6/8
		5 = Rs 5/8
		4 = Rs 4/8
		3 = Rs 3/8
		2 = Rs 2/8
		1 = Rs 1/8
		0 = NULL
		9 = Wk x1.5
		A = Wk x2
		B = Wk x2.5
		C = Rf 1/2
		D = Rf
		E = Dr 1/2
		F = Dr
	18: SWD, GUN
	19: RSH, HND
	1A: LEG, FLY
	1B: FIR, ICE
	1C: ELC, FOR
	1D: NRV, EXR
	1E: CRS, MGC
	1F: BND, ALM
$3BDE8F-$3BDEAE: Effect codes
	Matches codes in character RAM
$40C000-$40C7FF: Tilemap (text input)
$40C800-$40CFFF: Tilemap (human status)
$418000: Text pointers (dialogue options)
$4181E6: Text (dialogue/menu options)
$418D4B: Text pointers (races)
$418DA1: Text (demon races)
$418EDF: Text pointers (type descriptions)
$418F6D: Text (type descriptions)
$4195F0: Text pointers (skills)
$4197F0: Text pointers (abbrv. skills)
$4199F0: Text (skills)
	Every name is immediately followed by its abbreviated name
$41A671: Text pointers (items)
$41A8C9: Text pointers (abbrv. items, equipment menu)
$41AB21: Text pointers (abbrv. items, shop menu)
$41AD79: Text (items)
	full name -> equipment abbrv. -> shop abbrv.
$41D884: Text pointers (demons)
$41DAEE: Text pointers (abbrv. demons)
$41DD58: Text (demon names)
	Every name is immediately followed by its abbreviated name
$41F297: Text pointers (locations)
$41F322: Text (locations)
$41F5B6: Text pointers (negotiation options)
$41F734: Text (negotiation options)
$428000-$49BD76: Text (dialogue)
$4A8000: Text pointers (save locations)
$4A8096: Text (save locations)
$4A832A: Text pointers (options)
$4A84A8-$4A8E4E: Text (options)
$4C8000-$4C87FF: Tilemap (sword fusion screen)
$4D8000-$4D87FF: Tilemap (config menu)
$4D8800-$4D8FFF: Tilemap (Devil Analyze screen)

ROM CODE (addresses in LoROM, no-header)
$009ECA: Extract text from database
$009EF2: Send text to RAM
$00A1E7: Update moon phase
$018A85: Assign new Guardian
	$018A9B: Checks if moon phase is full
$018B40: Get full moon Guardian
$04C93C: Generate RNG
$2AB588: Run on new game
$2ABD9E: Load save file

Hinokagutsuchi requires one of the upper 3 guardians within a track